package com.genntii.examManager.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.genntii.examManager.common.result.PageResult;
import com.genntii.examManager.domain.dto.VocabulariesDTO;
import com.genntii.examManager.domain.question.dto.ExamResult;
import com.genntii.examManager.domain.entity.ExamRecord;
import com.genntii.examManager.domain.question.mongo.Vocabularies;
import com.genntii.examManager.domain.vo.Exam4tVO;
import com.genntii.examManager.domain.vo.ExamComplete;
import com.genntii.examManager.domain.vo.ExamRecordVO;

import java.util.ArrayList;

public interface ExamRecordService extends IService<ExamRecord> {

    void examCommit(ExamResult examResult, Long userId);

    PageResult<ExamRecordVO> getExamHistory(Integer pageNum,
                                            Integer pageSize,
                                            Long userId);

    ExamResult getExamResult(Long examRecordId);

    PageResult<ExamComplete> getStudentExamCompleteStatus (Integer pageNum,Integer pageSize,Long examId);

    void addExam();

    PageResult<Vocabularies> getVocabulary(Integer pageNum, Integer pageSize, Long examId);

    void grading(Long examId, ArrayList<VocabulariesDTO> vocabulariesDTO);

    PageResult<Exam4tVO> getExamListVO4t(Integer pageNum, Integer pageSize, Long courseId);
}
